package cn.fenqing168.prototype;

import java.util.Hashtable;

public class ShapeCache {
    
   private static Hashtable<String, Shape> shapeMap = new Hashtable<>();
 
   public static Shape getShape(String shapeId) throws CloneNotSupportedException {
      Shape cachedShape = shapeMap.get(shapeId);
      return (Shape) cachedShape.clone();
   }
 

   public static void loadCache() {
      // 对每种形状都运行数据库查询，并创建该形状
      // shapeMap.put(shapeKey, shape);
      // 例如，我们要添加三种形状
      Circle circle = new Circle();
      circle.setId("1");
      shapeMap.put(circle.getId(),circle);
 
      Square square = new Square();
      square.setId("2");
      shapeMap.put(square.getId(),square);
 
      Rectangle rectangle = new Rectangle();
      rectangle.setId("3");
      shapeMap.put(rectangle.getId(),rectangle);
   }
}